An embodiment relates generally to controller area network systems within a vehicle.
A controller-area network (CAN) is a vehicle bus standard intended to allow electronic control units (ECUs) and other devices to communicate with one another without a central or host computer. Vehicle systems and subsystems have numerous ECUs that control actuators or receive vehicle operation data from sensing devices. The CAN system is an asynchronous broadcast serial bus which communicates messages serially. Therefore, only one message is communicated on a communication-bus at one instance of time. When a message is ready to be transmitted onto the communication bus, the CAN-controller controls the message transfer on the bus. If more than one message transmission is initiated simultaneously by multiple transmitters, the more dominant message is transmitted. This is known as an arbitration process. A message with a highest priority will dominate the arbitration and a message transmitting at the lower priority will sense this and wait.
In various scenarios, messages may be processed by different nodes in succession within a CAN system. In such a scenario, the messages are provided to a first node and the messages are processed at different instances of time. When the processing for a respective message is completed at a respective node, it is transmitted along the communication bus to a next node for additional processing. Meanwhile, the next messages are processed in the first node, and are thereafter successively transmitted along the communication bus to the next node for additional processing. Due to inherent delays in processing messages, or contention in the communication bus, messages may be lost in the communication process since there is no central or host computer to assure that each of the messages maintained and not dropped. In such an instance, the message content may get lost because of overwrite by another message value. Moreover, if the buffer space of a sending unit is limited, and if a next message is sent for communication while the sending unit still maintains the previous message in the buffer, then the current sent message will be lost due to contention at the sender buffer. Therefore, there is a need to assure that messages are properly processed by the CAN system without losing the messages.